const express = require("express");
const route = express.Router();   //创建路由实例
const adminModel = require("../db/model/adminModel")
const md5 = require('md5');//大写MD5 和 小写md5 不是一个包
const {
  jwtEncode
}=require("../utils/jwt")


// 创建实例路由的请求
route.post("/login", async (req, res) => {
 const {
  adminName,
  password
 }=req.body;

 console.log(adminName,password)

//  首先校验是否登录成功
try{
  const findResult=await adminModel.findOne({
    adminName,
    password:md5(password+"123")
  })
  // 查询不到的情况
  if(!findResult){
  return  res.send({
      code:10002,
      msg:'登录异常:账号或者密码错误',
      data:null
    })
  }

  // 查询到了以后,根据我们封装的jwt规范,生成一个token  响应给用户
  // console.log(findResult);
  const token=jwtEncode(findResult.adminName,"666")
  console.log(token);

  // 登录成功以后把数据库当中的用户状态改为1
  await adminModel.updateOne({
    adminName
  },{
    $set:{
      status:1
    }
  })

  res.send({
    code:10000,
    msg:"登陆成功",
    data:{
      token
    }
  })
}catch(e){
  console.log('登录查询时发生异常',e.message);
  res.send({
    code:10001,
    msg:'登录查询时发生异常:'+e.message,
    data:null
  })
}

})

module.exports = route;//暴露路由

// 后面是在入口文件引入路由  再使用路由app.use()